import { post, ajax } from '@/utils/ajax'
import defaultSettings from '@/settings'

/**
 * SSO登录方法
 *
 * @param token 认证key
 */
export function ssoLoginApi(token: string) {
  return ajax({
    url: '/sso/login',
    method: 'post',
    data: { token },
    headers: {
      isToken: false
    },
    extCfg: {
      security: false,
      noLoading: true
    }
  })
}

/**
 * 登录方法
 *
 * @param username 用户名
 * @param password 密码
 * @param code 验证码
 * @param uuid 请求ID
 */
export function loginApi(username: string, password: string, code: string, uuid: string) {
  const data = {
    username,
    password,
    code,
    uuid
  }
  return post(defaultSettings.isCould ? '/system-service/oauth/webLogin' : '/login', data, {
    security: true,
    noLoading: true
  })
}

/**
 * 获取用户详细信息
 */
export function getInfoApi() {
  return post(defaultSettings.isCould ? '/auth-service/getInfo' : '/getInfo', {}, {noLoading: true})
}

/**
 * 退出方法
 */
export function logoutApi() {
  return post(defaultSettings.isCould ? '/auth-service/oauth/logout' : '/logout', {})
}

/**
 * 获取验证码
 */
export function getCodeImgApi() {
  return post(defaultSettings.isCould ? '/auth-service/captchaImage' : '/captchaImage', {})
}

// /**
//  * 登录API
//  *
//  * @param data {LoginData}
//  * @returns
//  */
// export function loginApi(data: LoginData): AxiosPromise<LoginResult> {
//   const formData = new FormData();
//   formData.append("username", data.username);
//   formData.append("password", data.password);
//   formData.append("verifyCodeKey", data.verifyCodeKey || "");
//   formData.append("verifyCode", data.verifyCode || "");
//   return request({
//     url: "/api/v1/auth/login",
//     method: "post",
//     data: formData,
//     headers: {
//       "Content-Type": "multipart/form-data",
//     },
//   });
// }
//
// /**
//  * 注销API
//  */
// export function logoutApi() {
//   return request({
//     url: "/api/v1/auth/logout",
//     method: "delete",
//   });
// }
//
// /**
//  * 获取验证码
//  */
// export function getCaptchaApi(): AxiosPromise<CaptchaResult> {
//   return request({
//     url: "/api/v1/auth/captcha",
//     method: "get",
//   });
// }
// // 获取验证码
// export function getCodeImg() {
//   return post(isCould === true ? '/auth-service/captchaImage' : '/captchaImage');
// }
